Stereo images of a contoured surface (e.g. terrain) are often employed in elevation mapping and three dimensional visualization applications to derive elevation data from which a perspective view of the surface from an arbitrary vantage point can be recreated. In order to determine elevation information from a two dimensional image, the parallax between common locations of the stereo image pair is measured. As an example of how parallax may be used to determine the elevation of objects within a scene, consider the diagrammatical illustrations, in FIG. 1, of respective images 11 and 12 containing a pyramid 14, as viewed from respectively different look angles in the horizontal (or x) direction. The pyramid has four corners A, B, C and D that lie on generally flat surface 16 and an apex E that rises to some elevation datum above surface 16. The parallax of any point in the scene is the difference in the coordinates for that point for the two images, so that the parallax for each of common elevation points A, B, C and D is the same, here 40 for the coordinate values shown, while the parallax of apex point E is 50. This difference in parallax indicates that the elevation of point E is different from that of points A, B, C and D and, by applying this difference to a conventional parallax-based elevation function, the elevation of point E relative to surface 16 may be determined. Given the relative elevations of multiple points on a stereo image of a contoured surface, a model or perspective recreation of that surface may be obtained.
Conventional methodologies for determining parallax include those in which an operator looks through an optical system to locate elevation points, and the those which electronically scan a stereo image pair. In the former technique, an operator views the overlay of a moveable reticle on a stereo image pair through an optical viewfinder and manipulates the location of a reticle until, in the operator's best estimation, the reticle is coincident with the surface of the contour being viewed. This chosen position of the reticle is then identified as a surface elevation. Obviously, this technique suffers from a variety of shortcomings including human judgment, labor intensity, time consumption and limited data acquisition. Whatever data is obtained is then used to interpolate between points. As a consequence, only a very coarse approximation of the surface can be determined.
In a conventional electronics system, on the other hand, such as one employing a flying spot scanner to trace successive lines across the images, characteristics of the video return signal (typically delay or shift) are analyzed to determine parallax. Still, the resolution is limited by the granularity of the scan and the video signal analysis. Moreover, as in the operator-based system described previously, the number of data points is limited (typically less than half the number of pixels in the image) so that a significant amount of interpolation is required.
An additional conventional scheme for determining parallax subjects each of the images to an edge detection mechanism, which attempts to match edge segments of one image with those of the other. A primary shortcoming of this technique is the fact that the parallax can only be calculated for those portions of the image which belong to edges (typically on the order of only 5-10%), so that the remainder of the image points must be interpolated using these edge results.